﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using Entity = Savico.Library.Entity;
using Business = Savico.Library.Business;
using Commom = Savico.Library.Commom.Algorithm;

public partial class templates_admin_usercontrols_add_image : System.Web.UI.UserControl
{
    Commom.RandomString strRandom = new Savico.Library.Commom.Algorithm.RandomString();
    Entity.ChuDe entityTopic = new Savico.Library.Entity.ChuDe();
    Entity.HinhAnh entityImage = new Savico.Library.Entity.HinhAnh();
    Business.ChuDe businessTopic = new Savico.Library.Business.ChuDe();
    Business.HinhAnh businessImage = new Savico.Library.Business.HinhAnh();
    Business.TaoMa businessCode = new Savico.Library.Business.TaoMa();
    Entity.TaoMa entityCode = new Savico.Library.Entity.TaoMa();
    DataTable dtImage = new DataTable();
    string kt = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            entityTopic.NgonNgu = "vi";
            Alert.Load_DropDownList(ddlChuDe, businessTopic.SelectTheoNgonNgu(entityTopic), "TenChuDe", "IdChuDe", "---Chọn chủ đề---");
            entityTopic.NgonNgu = "en";
            Alert.Load_DropDownList(ddlTopic, businessTopic.SelectTheoNgonNgu(entityTopic), "TenChuDe", "IdChuDe", "---Select topic---");
            string action = Request.QueryString["action"].ToString();
            if (action == "add")
            {
                imgTinTuc.Visible = false;
                lbTitle.Text = "Thêm hình ảnh mới";
            }
            else
            {
                imgTinTuc.Visible = true;
                lbTitle.Text = "Sửa thông tin hình ảnh";
                int info = Convert.ToInt32(Request.QueryString["Id"].ToString());
                entityImage.IdHinh = info;
                dtImage = businessImage.SelectPrimaryKey(entityImage);
                if (dtImage.Rows.Count == 1)
                {
                    kt = dtImage.Rows[0]["NgonNgu"].ToString();
                    if (kt == "en")
                    {
                        fckIntroduction.Value = dtImage.Rows[0]["GioiThieu"].ToString();
                        ddlTopic.SelectedValue = dtImage.Rows[0]["IdChuDe"].ToString();
                        if (Convert.ToBoolean(dtImage.Rows[0]["TrangThai"].ToString()) == true)
                        {
                            ddlStatus.SelectedValue = "1";
                        }
                        else
                        {
                            ddlStatus.SelectedValue = "0";
                        }
                    }
                    if (kt == "vi")
                    {
                        fckGioiThieu.Value = dtImage.Rows[0]["GioiThieu"].ToString();
                        ddlChuDe.SelectedValue = dtImage.Rows[0]["IdChuDe"].ToString();
                        if (Convert.ToBoolean(dtImage.Rows[0]["TrangThai"].ToString()) == true)
                        {
                            ddlTrangThai.SelectedValue = "1";
                        }
                        else
                        {
                            ddlTrangThai.SelectedValue = "0";
                        }

                    }
                    imgTinTuc.ImageUrl = "~/uploads/image-listimages/" + dtImage.Rows[0]["TenFile"];
                    lbTenHinh.Text = dtImage.Rows[0]["TenFile"].ToString();
                    dpkNgayVietVn.Text = dtImage.Rows[0]["NgayDang"].ToString();
                }
                if (dtImage.Rows.Count == 2)
                {
                    fckIntroduction.Value = dtImage.Rows[0]["GioiThieu"].ToString();
                    ddlTopic.SelectedValue = dtImage.Rows[0]["IdChuDe"].ToString();
                    if (Convert.ToBoolean(dtImage.Rows[0]["TrangThai"].ToString()) == true)
                    {
                        ddlStatus.SelectedValue = "1";
                    }
                    else
                    {
                        ddlStatus.SelectedValue = "0";
                    }
                    fckGioiThieu.Value = dtImage.Rows[1]["GioiThieu"].ToString();
                    ddlChuDe.SelectedValue = dtImage.Rows[1]["IdChuDe"].ToString();
                    if (Convert.ToBoolean(dtImage.Rows[1]["TrangThai"].ToString()) == true)
                    {
                        ddlTrangThai.SelectedValue = "1";
                    }
                    else
                    {
                        ddlTrangThai.SelectedValue = "0";
                    }
                    imgTinTuc.ImageUrl = "~/uploads/image-listimages/" + dtImage.Rows[0]["TenFile"];
                    lbTenHinh.Text = dtImage.Rows[0]["TenFile"].ToString();
                    dpkNgayVietVn.Text = dtImage.Rows[0]["NgayDang"].ToString();
                }
            }
        }
    }
    private bool checkVN(string save)
    {
        bool kiemtra = true;
        if (save != "edit")
        {
            if (fuHinhAnh.FileName == "")
            { Alert.Show("Bạn chưa chọn hình ảnh cho bài viết !!!"); kiemtra = false; }
            else if (fckGioiThieu.Value == "")
            { Alert.Show("Bạn chưa điền phần giới thiệu cho hình ảnh này !!!"); kiemtra = false; }
            else if (dpkNgayVietVn.Text == "")
            { Alert.Show("Bạn chưa ngày đăng cho hình ảnh này !!!"); kiemtra = false; }
            else if (ddlChuDe.SelectedValue == "0")
            { Alert.Show("Bạn chưa chọn chủ đề cho hình ảnh này !!!"); kiemtra = false; }
            else if (ddlTrangThai.SelectedValue == "2")
            { Alert.Show("Bạn chưa chọn trạng thái cho hình ảnh này !!!"); kiemtra = false; }
        }
        return kiemtra;
    }
    private bool checkEN(string save)
    {
        bool kiemtra = true;
        if (save != "edit")
        {
            if (fuHinhAnh.FileName == "")
            { Alert.Show("Bạn chưa chọn hình ảnh cho bài viết !!!"); kiemtra = false; }
            else if (fckIntroduction.Value == "")
            { Alert.Show("Bạn chưa điền phần giới thiệu cho hình ảnh này !!!"); kiemtra = false; }
            else if (dpkNgayVietVn.Text == "")
            { Alert.Show("Bạn chưa ngày đăng cho hình ảnh này !!!"); kiemtra = false; }
            else if (ddlTopic.SelectedValue == "0")
            { Alert.Show("Bạn chưa chọn chủ đề cho hình ảnh này !!!"); kiemtra = false; }
            else if (ddlStatus.SelectedValue == "2")
            { Alert.Show("Bạn chưa chọn trạng thái cho hình ảnh này !!!"); kiemtra = false; }
        }
        return kiemtra;
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        string action = Request.QueryString["action"];
        string stringRandom = strRandom.GenerateRandomString();
        try
        {
            bool save1 = false, save2 = false;
            entityImage.NguoiDang = "admin";
            if (action == "add")
            {
                entityCode.LoaiMa = "IdHinh";
                entityImage.IdHinh = businessCode.TaoMaMoi(entityCode);
                businessCode.Update_Ma(entityCode);
                entityImage.TenFile = stringRandom + fuHinhAnh.FileName;
                entityImage.NgayDang = Convert.ToDateTime(dpkNgayVietVn.Text);
                if (ddlTopic.SelectedValue != "0" && ddlChuDe.SelectedValue == "0")
                {
                    entityImage.GioiThieu = fckIntroduction.Value;
                    entityImage.NgonNgu = "en";
                    entityImage.IdChuDe = Convert.ToInt32(ddlTopic.SelectedValue);
                    entityImage.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlStatus.SelectedValue));
                    if (checkEN(action))
                    {
                        save1 = businessImage.Insert(entityImage);
                        if (save1)
                        {
                            Alert.Show("Add image success !!!");
                            fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-listimages/" + entityImage.TenFile));
                        }
                        else { Alert.Show("Add image fail !!!"); }
                    }
                }
                if (ddlTopic.SelectedValue == "0" && ddlChuDe.SelectedValue != "0")
                {
                    entityImage.GioiThieu = fckGioiThieu.Value;
                    entityImage.NgonNgu = "vi";
                    entityImage.IdChuDe = Convert.ToInt32(ddlChuDe.SelectedValue);
                    entityImage.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlTrangThai.SelectedValue));
                    if (checkVN(action))
                    {
                        save1 = businessImage.Insert(entityImage);
                        if (save1)
                        {
                            Alert.Show("Thêm hình ảnh mới thành công !!!");
                            fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-listimages/" + entityImage.TenFile));
                        }
                        else { Alert.Show("Thêm bài viết mới không thành công !!!"); }
                    }
                }
                if (ddlTopic.SelectedValue != "0" && ddlChuDe.SelectedValue != "0")
                {
                    entityImage.GioiThieu = fckIntroduction.Value;
                    entityImage.NgonNgu = "en";
                    entityImage.IdChuDe = Convert.ToInt32(ddlTopic.SelectedValue);
                    entityImage.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlStatus.SelectedValue));
                    if (checkEN(action))
                    {
                        save1 = businessImage.Insert(entityImage);
                    }
                    entityImage.GioiThieu = fckGioiThieu.Value;
                    entityImage.NgonNgu = "vi";
                    entityImage.IdChuDe = Convert.ToInt32(ddlChuDe.SelectedValue);
                    entityImage.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlTrangThai.SelectedValue));
                    if (checkEN(action))
                    {
                        save2 = businessImage.Insert(entityImage);
                    }
                    if (save1 && save2)
                    {
                        Alert.Show("Thêm hình ảnh mới thành công !!!");
                        fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-listimages/" + entityImage.TenFile));
                    }
                    else { Alert.Show("Thêm hình ảnh mới không thành công !!!"); }
                }
            }
            else
            {
                entityImage.IdHinh = Convert.ToInt32(Request.QueryString["Id"]);
                entityImage.NgayDang = Convert.ToDateTime(dpkNgayVietVn.Text);
                if (ddlStatus.SelectedValue != "0" && ddlChuDe.SelectedValue == "0")
                {
                    entityImage.GioiThieu = fckIntroduction.Value;
                    entityImage.NgonNgu = "en";
                    entityImage.IdChuDe = Convert.ToInt32(ddlTopic.SelectedValue);
                    entityImage.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlStatus.SelectedValue));
                    if (fuHinhAnh.FileName != "")
                    {
                        File.Delete(Server.MapPath("~/uploads/image-listimages/" + lbTenHinh.Text));
                        entityImage.TenFile = stringRandom + fuHinhAnh.FileName;
                        fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-listimages/" + entityImage.TenFile));
                    }
                    else
                    { entityImage.TenFile = lbTenHinh.Text; }
                    save1 = businessImage.Update(entityImage);
                    if (save1)
                    { Alert.Show("Cập nhật thông tin hình ảnh thành công !!!"); }
                    else
                    { Alert.Show("Cập nhật thông tin hình ảnh không thành công !!!"); }
                }
                if (ddlTopic.SelectedValue == "0" && ddlChuDe.SelectedValue != "0")
                {
                    entityImage.GioiThieu = fckGioiThieu.Value;
                    entityImage.NgonNgu = "vi";
                    entityImage.IdChuDe = Convert.ToInt32(ddlChuDe.SelectedValue);
                    entityImage.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlTrangThai.SelectedValue));
                    if (fuHinhAnh.FileName != "")
                    {
                        File.Delete(Server.MapPath("~/uploads/image-listimages/" + lbTenHinh.Text));
                        entityImage.TenFile = stringRandom + fuHinhAnh.FileName;
                        fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-listimages/" + entityImage.TenFile));
                    }
                    else
                    { entityImage.TenFile = lbTenHinh.Text; }
                    save1 = businessImage.Update(entityImage);
                    if (save1)
                    { Alert.Show("Cập nhật thông tin hình ảnh thành công !!!"); }
                    else
                    { Alert.Show("Cập nhật thông tin hình ảnh không thành công !!!"); }
                }
                if (ddlTopic.SelectedValue != "0" && ddlChuDe.SelectedValue != "0")
                {
                    entityImage.NgayDang = Convert.ToDateTime(dpkNgayVietVn.Text);
                    if (fuHinhAnh.FileName != "")
                    {
                        File.Delete(Server.MapPath("~/uploads/image-listimages/" + lbTenHinh.Text));
                        entityImage.TenFile = stringRandom + fuHinhAnh.FileName;
                        fuHinhAnh.SaveAs(Server.MapPath("~/uploads/image-listimages/" + entityImage.TenFile));
                    }
                    else
                    { entityImage.TenFile = lbTenHinh.Text; }
                    entityImage.GioiThieu = fckIntroduction.Value;
                    entityImage.NgonNgu = "en";
                    entityImage.IdChuDe = Convert.ToInt32(ddlTopic.SelectedValue);
                    entityImage.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlStatus.SelectedValue));

                    save1 = businessImage.Update(entityImage);

                    entityImage.GioiThieu = fckGioiThieu.Value;
                    entityImage.NgonNgu = "vi";
                    entityImage.IdChuDe = Convert.ToInt32(ddlChuDe.SelectedValue);
                    entityImage.TrangThai = Convert.ToBoolean(Convert.ToInt32(ddlTrangThai.SelectedValue));

                    save2 = businessImage.Update(entityImage);

                    if (save1 && save2)
                    { Alert.Show("Cập nhật thông tin hình ảnh thành công !!!"); }
                    else
                    { Alert.Show("Cập nhật thông tin hình ảnh không thành công !!!"); }
                }
            }


        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    protected void btnPreview_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/admin/ListImage.aspx");
    }
}
